Electronic apparatus equipped with detachable image pickup apparatuses,  control method therefor, and storage medium storing control program  therefor

ABSTRACT

An electronic apparatus that achieves a function of a compound eye camera using a plurality of photographing modules and that improves AF accuracy even if environmental conditions vary or even if a state is changed by impact from outside. The electronic apparatus includes two photographing modules. A first obtaining unit performs contrast AF by one of the two photographing modules to obtain a first focus detection result. A second obtaining unit calculates an object distance from parallax information between the two photographing modules to obtain a second focus detection result. A correction unit corrects a calculation result of the object distance obtained by the second obtaining unit in a case where a state of at least one of the two photographing modules and a body of the electronic apparatus varies and where a difference between the first and second focus detection results is more than a threshold.

BACKGROUND OF THE INVENTION Field of the Invention

The present invention relates to an electronic apparatus equipped with detachable image pickup apparatuses as modules, a control method therefore, and a storage medium storing a control program therefor.

Description of the Related Art

There is a well-known electronic apparatus called a smart device that achieves various desired functions by combining modules that are collected for functional units like blocks. Such a smart device consists of a body that has a plurality of slots and a plurality of modules that have different functions. These various modules are attached to the slots of the body in a free combination. Attachment of a photographing module to a slot of the body enables a photographing function by running an application program installed on an OS.

There are various photographing modules corresponding to such a smart device. Focal length of an optical lens and size of an image sensor of a photographing module may be freely selected as long as certain standards, such as an attachment means and a communication means, are satisfied. Furthermore, a plurality of manufacturers, such as camera manufacturers and electronic manufacturers, may design these photographing modules. Moreover, since there are few restrictions about arrangements of components in a photographing module, degree of freedom of design is high. Accordingly, a photographing module can be designed with the optimal layout that is convenient for specification and a manufacturer.

Since a combination of modules is relatively free as mentioned above, a plurality of photographing modules can be attached to different slots, respectively. In such a case, image composite functions and measurement functions, which are well known functions of what is called a compound eye camera, become available by running an application program that activates a compound eye camera function for the attached photographing modules.

Well-known image composite functions, such as a stereoscopic view mode, panorama mode, pan-focus mode, dynamic range expansion mode, Charlot focus mode, and multi-zoom (high resolution) mode, are installed in a compound eye camera. Each of the functions obtains one image by compositing a plurality of image data obtained by photographing simultaneously while matching or differentiating photographing conditions of the respective photographing modules. Moreover, a distance measurement function is one of the measurement functions that use a compound eye camera. The function processes a stereo image obtained by photographing an object with right and left cameras simultaneously to recognize the object three-dimensionally or to measure a distance to the object.

Such image composite functions and measurement functions of a compound eye camera are achieved on the basis of parallax information between at least two photographing modules. Accordingly, measurement accuracy is affected by change of environmental conditions, such as temperature and humidity, and change of state of internal parts by impact from outside in many cases. That is, a problem in use of a compound eye camera is that calibration relationship between modules is not stable within a usage environment range of a regular digital camera.

There is a known method that corrects images taken by a stereoscopic camera according to a detected deviation amount of the stereoscopic camera (for example, see Japanese Laid-Open Patent Publication (Kokai) No. 2015-25730 (JP 2015-25730A)).

Specifically, two images taken by right and left cameras are respectively defined as a reference image and a comparison image, and the comparison image is converted geometrically. For the conversion process, the two images are temporarily stored into a buffer memory of about ten through some tens of lines, and it is determined whether the deviation amount falls within the range of the buffer memory. When the deviation amount exceeds the range of the buffer memory, it is determined that the stereoscopic camera has an abnormality.

Moreover, signal levels of image signals output from a focus detecting pixel pair of an image pickup device may differ owing to imbalance in light amounts that enter into the focus detecting pixel pair through an exit pupil of a lens. In order to cope with the problem, there is a known image pickup apparatus that changes a function for obtaining a light amount ratio that varies according to an image height in a case of no manufacturing error using correction information relevant to a manufacturing alignment error and that corrects signal levels according to the changed function and the image height of the focus detecting pixel pair (for example, see Japanese Laid-Open Patent Publication (Kokai) No. 2014-186338 (JP 2014-186338A)).

However, the techniques described in the above-mentioned publications have the following problems.

The technique of JP 2015-25730A compares two photographed image data to correct the comparison image with respect to the reference image, but cannot improve AF accuracy.

Moreover, the technique of JP 2014-186338A improves the accuracy of phase difference AF by considering the manufacture error of the image pickup device to which the phase difference detection function is given, but cannot cope against exchange of photographing modules.

SUMMARY OF THE INVENTION

The present invention provides an electronic apparatus that achieves a function of a compound eye camera using a plurality of photographing modules and that improves AF accuracy even if environmental conditions, such as temperature and humidity, vary or even if a state is changed by impact from outside.

Accordingly, a first aspect of the present invention provides an electronic apparatus including two photographing modules, a first obtaining unit configured to perform contrast AF by one of the two photographing modules to obtain a first focus detection result, a second obtaining unit configured to calculate an object distance from parallax information between the two photographing modules to obtain a second focus detection result, and a correction unit configured to correct a calculation result of the object distance obtained by the second obtaining unit in a case where a state of at least one of the two photographing modules and a body of the electronic apparatus varies and where a difference between the first focus detection result and the second focus detection result is more than a threshold.

Accordingly, a second aspect of the present invention provides a control method for an electronic apparatus that achieves a function of a compound eye camera using two photographing modules, the control method including a first obtaining step of performing contrast AF by one of the two photographing modules to obtain a first focus detection result, a second obtaining step of calculating an object distance from parallax information between the two photographing modules to obtain a second focus detection result, and a correction step of correcting a calculation result of the object distance obtained in the second obtaining step in a case where a state of at least one of the two photographing modules and a body of the electronic apparatus varies and where a difference between the first focus detection result and the second focus detection result is more than a threshold.

Accordingly, a third aspect of the present invention provides a non-transitory computer-readable storage medium storing a control program causing a computer to execute the control method of the second aspect.

According to the present invention, the electronic apparatus that achieves a function of a compound eye camera using a plurality of photographing modules is capable of improving the AF accuracy even if environmental conditions, such as temperature and humidity, vary or even if a state is changed by impact from outside.

Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A through FIG. 1D are external views showing a body of a smart device as an electronic apparatus according to a first embodiment of the present invention.

FIG. 2A through FIG. 2D are external views showing modules attached to the body of the smart device of the first embodiment.

FIG. 3A and FIG. 3B are explanation views showing how to attach the modules to the body of the smart device of the first embodiment.

FIG. 4A and FIG. 4B are explanation views showing magnetic coupling between an EPM of the body of the smart device of the first embodiment and a magnetic body of a module.

FIG. 5 is a block diagram schematically showing hardware configurations of the plurality of modules and the body of the smart device of the first embodiment equipped with the modules.

FIG. 6 is a flowchart showing procedures of an operation control process, which is executed by an application program control module, of the smart device of the first embodiment equipped with the plurality of modules.

FIG. 7 is a flowchart showing detailed procedures of a release process executed in step S1107 in FIG. 6.

FIG. 8 is a flowchart showing detailed procedures of an attaching process executed in step S1109 in FIG. 6.

FIG. 9 is a flowchart showing detailed procedures of a photography application program execution process that is an example of an application program execution process executed in step S1111 in FIG. 6.

FIG. 10 is a flowchart showing procedures of a photographing execution process executed in step S1405 in FIG. 9.

FIG. 11 is a flowchart showing procedures of a focusing position optimization process to a plurality of photographing modules of the first embodiment executed in step S1505 in FIG. 10.

FIG. 12A and FIG. 12B are views for describing a selection method of a main camera that performs contrast AF in steps S1604 and S1606 in FIG. 11.

FIG. 13 is an explanation view showing a calculation method of a base length executed in step S1602 in FIG. 11.

FIG. 14 is a flowchart showing procedures of the focusing position optimization process to a plurality of photographing modules according to a second embodiment executed in step S1505 in FIG. 10.

DESCRIPTION OF THE EMBODIMENTS

Hereafter, embodiments according to the present invention will be described in detail with reference to the drawings.

FIG. 1A through FIG. 1D are external views of a smart device 50 as an electronic apparatus according to a first embodiment of the present invention.

FIG. 1A is an external view of a body of the smart device 50 viewed from a front side, and FIG. 1B is an external view of the body viewed from a back side.

As shown in FIG. 1A, a plurality of ribs 101 a, 101 b, and 101 c are formed on the front side of the body of the smart device 50. Moreover, as shown in FIG. 1B, a plurality of ribs and a spine 102, which divides the body of the smart device 50 into right and left areas, are formed on the back side of the body of the smart device 50 in addition to the ribs 101 a and 101 c that are common with the front side. The ribs 101 a through 101 h and the spine 102 have a guiding function and holding function for a module to be attached, and have a function to improve rigidity of the body of the smart device 50. Hereinafter, the ribs 101 a through 101 h and the spine 102 are collectively referred to as a frame structure. The front side and back side of the body of the smart device 50 are divided by the frame structure into slots 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, and 1900 as attachment regions for a plurality of modules.

Electro permanent magnets (EPMs) 160 and 163, which manage an electromagnetism attachment-and-detachment mechanism, are arranged near the left ends in the drawing in the front-side slots 1000 and 1300 of the body of the smart device 50 as shown in FIG. 1A, Body side non-contact communication systems (hereinafter referred to as body-side CMCs) 140 and 143, which enable data communication between the body of the smart device 50 and each module, are respectively arranged at the right sides of the EPMs 160 and 163. As shown in FIG. 1B, EPMs 165 a, 165 b, 167 a, 167 b, 168, and 169 are provided in the slots 1500, 1700, 1800, and 1900 on the left side of the spine 102 of the back side of the body of the smart device 50. And body-side CMCs 145 a, 145 b, 147 a, 147 b, 148, and 149 are respectively arranged at the left sides of the EPMs. Moreover, EPMs 161, 162 a, 162 b, 164 a, 164 b, and 166 are provided in the slots 1100, 1200, 1400, and 1600 on the right side of the spine 102. And body-side CMCs 141, 142 a, 142 b, 144 a, 144 b, and 146 are respectively arranged at the right sides of the EMSs.

FIG. 1C is an external view showing a state where the modules are attached to the body of the smart device 50 viewed from the front side, and FIG. 1D is an external view showing the state viewed from the back side.

As shown in FIG. 1C and FIG. 1D, a display operation module 300 that consists of an LCD panel 312 having a touch detection function within an approximately whole surface is attached to the slot 1300 in a lower part of the front side of the body of the smart device 50. A power button 314 a for switching ON and OFF of power of the smart device 50 is provided in the right side of the display operation module 300. And, a volume control button 314 b for adjusting volume is provided in the left side of the display operation module 300. Furthermore, a microphone 318 that detects a call person's voice in a case where the smart device 50 functions as a mobile wireless communication device is provided in the display operation module 300. The microphone 318 also plays a role to collect sounds of a video image when the smart device 50 functions as a video camera. Moreover, a speaker module 350 is attached to the slot 1000 in an upper part of the front side of the body of the smart device 50. The speaker module 350 is equipped with a loudspeaker 351 that outputs received voice in a case where the smart device 50 functions as a mobile wireless communication device. In addition, the loudspeaker 351 outputs music and operation sound.

On the other hand, a photographing module 500 that has various photographing functions is attached to the slot 1500 in the upper part on the left side of the spine 102 of the back side of the body of the smart device 50. Moreover, a photographing module 600 is attached to the slot 1600 in the upper part on the right side of the spine 102. In the body of the smart device 50, at least the slots 1500 and 1600 serve as an approximately same flat surface. Optical axes of the photographing modules 500 and 600 are approximately parallel. This enables the photographing modules 500 and 600 to frame the same object in each photographing target area, which enables measurement of an object distance using parallax mentioned later and approximately simultaneous photographing. Moreover, although the photographing modules 500 and 600 have a common configuration so that an attachment-detachment means and a communication means to the body of the smart device 50 satisfy standard specifications as mentioned above, the modules are different in an arrangement of components.

A wireless LAN module 700 that enables wireless data communication with an external apparatus is attached to the slot 1700 formed below the slot 1500. Furthermore, a posture detection module 800 that detects posture of the smart device 50 is attached to the slot 1800 below the slot 1700. The posture detection module 800 detects the posture of the smart device 50 using angular velocity information obtained from a triaxial gyro sensor. A mobile communication module 900 that has a single or a plurality of various remote distance communication functions, such as TDMA, CDMA, and LTE, is attached to the slot 1900 in the bottom part on the left side of the spine 102.

An application program control module 200 that controls the entire smart device 50 is attached to the slot 1200 formed below the slot 1600. When installing an exclusive application program for a predetermined attached module in the application program control module 200, a user is able to use a desired function of the smart device 50 through the application program control module 200. For example, when a telephone call application that is exclusive for the mobile communication module 900 is installed, a call function becomes available by operating the mobile communication module 900 through the application program control module 200. Moreover, when an Internet-access application that is exclusive for the wireless LAN module 700 is installed, a web browsing function by the Internet access becomes available by operating the wireless LAN module 700 through the application program control module 200. Moreover, when a photographing application that is exclusive for the photographing modules 500 and 600 is installed, functions of a compound eye camera, such as image composite functions and measurement functions, become available by operating the photographing modules 500 and 600 through the application program control module 200.

The image composite functions of the compound eye camera include a stereoscopic view mode, panorama mode, pan-focus mode, dynamic range expansion mode, Charlot focus mode, and multi-zoom (high resolution) mode that are described in JP 2015-25730A mentioned above. Then, the exclusive photographing application is arbitrarily set up by each of the photographing modules 500 and 600. Each of these image composite functions generates data of one image by compositing data of two images by photographing simultaneously while matching or differentiating photographing conditions of the respective photographing modules 500 and 600.

Moreover, the distance measurement technique described in JP 2014-186338A mentioned above is applied to the above-mentioned photographing application as the measurement function. The function processes a stereo image obtained by photographing an object with the photographing modules 500 and 600 simultaneously to recognize the object three-dimensionally or to measure a distance to the object. In addition, the present invention does not limit functions of such a compound eye camera. Since the functions have been already known in prior art documents, the detailed individual descriptions are omitted.

A power supply module 40 that supplies the power to the smart device 500 is attached to the slot 1400 below the slot 1200. Furthermore, a recording module 150 that saves various data, such as photographed image data, is attached to the slot 1100 in the bottom part on the right side of the spine 102.

FIG. 2A is an external view showing the display operation module 300 and the speaker module 350 that are attached to the front side of the body of the smart device 50 viewed from the front side. FIG. 2B is an external view showing these modules viewed from the back side. FIG. 2C is an external view showing the photographing modules 500 and 600, the wireless LAN module 700, the posture detection module 800, the mobile communication module 900, the application program control module 200, the power supply module 400, and the recording module 150 that are attached to the back side of the body of the smart device 50 viewed from the front side. FIG. 2D is an external view showing these modules viewed from the back side,

As shown in FIG. 2B, magnetic bodies 360 and 356 are provided on back sides of the display operation module 300 and the speaker module 350 at positions that face the EPMs 163 and 160 provided in the body of the smart device 50. The magnetic bodies 360 and 356 used is preferably made from soft magnetic material that has large magnetic permeability and small coercive force, and HIPERCO™50 that is soft magnetism alloy of iron and cobalt vanadium is employed in this embodiment. The same material is employed also in each magnetic body described hereinafter.

Furthermore, module-side non-contact communication systems (hereinafter referred to as module-side CMCs) 340 and 354 are provided at positions that face the body-side CMCs 143 and 140 provided in the body of the smart device 50. A module-side CMC performs high-speed contact proximity communication with a proximate body-side CMC by an inductive coupling method. Thereby, each module exchanges data and messages with the body of the smart device 50. The magnetic body 360 and the module-side CMCs 340 are adjacently provided in the display operation module 300. The magnetic body 356 and the module-side CMC 354 are adjacently provided in the speaker module 350.

On the other hand, as shown in FIG. 2C, magnetic bodies 560 a and 560 b are provided on a back side of the photographing module 500 at positions that face the EPMs 165 a and 165 b provided in the body of the smart device 50. Moreover, a magnetic body 660 a is provided on a back side of the photographing module 600 at a position that faces the EPM 166 provided in the body of the smart device 50. In addition, although a magnetic body 660 b is also provided in the back side of the photographing module 600, the body of the smart device 50 provides no EPM that faces the magnetic body 660 b. Accordingly, the photographing module 600 does not use the magnetic body 660 b, but is attached to the body of the smart device 50 because the magnetic body 660 a joins to the EPM 166 by magnetic force.

Similarly, magnetic bodies 760 a and 760 b are provided on a back side of the wireless LAN module 700 at positions that face the EPMs 167 a and 167 b provided in the body of the smart device 50. Moreover, magnetic bodies 860 and 960 are provided on back sides of the posture detection module 800 and the mobile communication module 900 at positions that face the EPMs 168 and 169 provided in the body of the smart device 50.

Similarly, magnetic bodies 760 a and 760 b are provided on a back side of the wireless LAN module 200 at positions that face the EPMs 167 a and 167 b provided in the body of the smart device 50. Moreover, magnetic bodies 460 a, 460 b, and 156 a are provided on back sides of the power supply module 400 and the recording module 150 at positions that face the EPMs 164 a, 164 b, and 161 provided in the body of the smart device 50. In addition, although a magnetic body 156 b is also provided in the back side of the recording module 150, the body of the smart device 50 provides no EPM that faces the magnetic body 156 b. Accordingly, the recording module 150 does not use the magnetic body 156 b, but is attached to the body of the smart device 50 because the magnetic body 156 a joins to the EPM 161 by magnetic force.

Module-side CMCs 540, 640, 740, 840, 940, 240 a, 240 b, 440 a, 440 b, and 154 are provided at positions that face the body-side CMCs 145 b, 146, 147 b, 148, 149, 142 a, 142 b, 144 a, 144 b, and 141. The modules exchange data with the body of the smart device 50 through these module-side CMCs. The magnetic bodies 560 b, 660 a, 760 b, 860, 960, 260 a, 260 b, 460 a, 460 b, and 156 a and the module-side CMCs 540, 640, 740, 840, 940, 240 a, 240 b, 440 a, 440 b, and 154 are adjacently arranged, respectively. Thus, each of the photographing modules 500 and 600, the wireless LAN module 700, the posture detection module 800, the mobile communication module 900, and the recording module 150 is provided with a pair of magnetic body and module-side CMC. Moreover, each of the application program control module 200 and the power supply module 400 is provided with two pairs of magnetic bodies and module-side CMCs.

FIG. 3A and FIG. 3B are explanation views showing how to attach the modules 150, 200, 300, 350, 400, 500, 600, 700, 800, and 900 to the body of the smart device 50.

As shown in FIG. 3A, the display operation module 300 and the speaker module 350 are attached to the front side of the body of the smart device 50 by sliding from the lateral side along the ribs 101 a through 101 c. At this time, the display operation module 300 and the speaker module 350 can be inserted from either the left side or the right side of the body of the smart device 50.

As shown in FIG. 3B, the photographing module 500, the wireless LAN module 700, the posture detection module 800, and the mobile communication module 900 are attached to the body of the smart device 50 by sliding from the left side. The positions of the modules 500, 700, 800, and 900 to the body of the smart device 50 are determined by butting the modules against the spine 102 from the left side. Moreover, the photographing module 600, the application program control module 200, the power supply module 400, and the recording module 150 are attached to the body of the smart device 50 by sliding from the right side. The positions of the modules 600, 200, 400, and 150 to the body of the smart device 50 are determined by butting the modules against the spine 102 from the right side.

In the first embodiment, the slots provided in the back side of the body of the smart device 50 are classified into first, second, and third groups by size as shown in FIG. 3B. First, the slots 1500, 1600, 1700, and 1100 are classified into the first group. For example, the photographing module 500 may be attached to any slot among these four slots. Moreover, the largest slots 1200 and 1400 are classified into the second group. For example, the application program control module 200 may be attached to either of these two slots. The smallest slots 1800 and 1900 are classified into the third group. For example, the posture detection module 800 may be attached to either of these two slots.

FIG. 4A and FIG. 4B are explanation views showing magnetic coupling between the EPM 165 b of the body of the smart device 50 and the magnetic body 560 b of the photographing module 500.

FIG. 4A is a partial enlarged view in a state where the body of the smart device 50 is not coupled with the photographing module 500 by magnetic force. Moreover, FIG. 4B is a partial enlarged view in a state where the body of the smart device 50 is coupled with the photographing module 500 by magnetic force. In addition, although FIG. 4A and FIG. 4B show the combination of the EPM 165 b and the magnetic body 560 b as an example, the same configuration as FIG. 4A and FIG. 4B is also applied to another combination of an EPM and a magnetic body.

As shown in FIG. 4A, the EPM 165 b is configured so that both sides of a permanent magnet 1651 with fixed polarity and a permanent electromagnet 1652 are connected and held by magnetic bodies 1653 a and 1653 b. A neodymium magnet of which magnetic flux density is extremely high is suitable to the permanent magnet 1651. Moreover, the permanent electromagnet 1652 consists of a reversible permanent magnet 1654 made from hard magnetic material, such as alnico, and a coil 1655 wound around the reversible permanent magnet 1654. When an electric current is applied to the coil 1655, the reversible permanent magnet 1654 is magnetized in one direction, and holds a magnetization state as-is even after stopping the electric current. Energizing time to the coil 1655 is about one through several seconds. Thus, the polarity of the permanent electromagnet 1652 varies in response to change of the direction of the electric current applied to the coil 1655.

When the electric current is applied to the coil 1655 in the direction shown in FIG. 4A, the reversible permanent magnet 1654 is magnetized so that the permanent electromagnet 1652 generates the magnetic lines of force in the direction opposite to the direction of the magnetic lines of force of the permanent magnet 1651 of which polarity is fixed. As a result, the magnetic lines of force of the permanent electromagnet 1652 and the magnetic lines of force of the permanent magnet 1651 form a closed loop, which extremely weakens the magnetic force that attracts the magnetic body 560 b of the photographing module 500. Accordingly, the photographing module 500 is released without receiving magnetic attraction from the EPM 165 b.

On the other hand, when the electric current is applied to the coil 1655 in the inverse direction as shown in FIG. 4B, the reversible permanent magnet 1654 is magnetized so that the permanent electromagnet 1652 generates the magnetic lines of force in the direction identical to the direction of the magnetic lines of force of the permanent magnet 1651 of which polarity is fixed. As a result, the magnetic lines of force of the permanent electromagnet 1652 and the magnetic lines of force of the permanent magnet 1651 are mutually intensified, which extremely increases the magnetic force that attracts the magnetic body 560 b of the photographing module 500. Accordingly, the photographing module 500 is fixed to the body of the smart device 50 by the magnetic attraction from the EPM 165 b. Since the EPMs are employed as the attachment-detachment means in the first embodiment, both operability and reliability of the modules are established.

FIG. 5 is a block diagram schematically showing hardware configurations of the plurality of modules 200 through 600, and 800 and the body of the smart device 50 equipped with the modules.

Hereinafter, the configuration of the body of the smart device 50, the configurations of the application program control module 200, display operation module 300, power supply module 400, photographing modules 500 and 600, and posture detection module 800 will be described with reference to FIG. 5. In addition, various types of modules are attachable to the body of the smart device 50. The combination shown in FIG. 5 is one example, and the present invention is not limited to the combination.

The body of the smart device 50 controls each module attached to the body of the smart device 50 under the total control by the application program control module 200. When running various application programs in the environment where a kernel and an OS are running, a system control circuit (system controller) 110, which controls the entire body of the smart device 50, operates coordinately in response to an instruction and a request from an application control circuit (application controller) 210 of the application program control module 200. Then, the system control circuit 110 enables a cooperating operation of the body of the smart device 50 and each module, and is available to perform various services and functions through the application control circuit 210.

The system control circuit 110 directly accesses to a memory 112 to read and write data. An electrically erasable programmable nonvolatile memory (NV memory) 114 stores constants, variables, and programs for operations of the system control circuit 110, and stores positional information about each slot. For example, a flash memory is used as the NV memory 114. The positional information includes positional information about each of the slots 1100, 1200, 1400, 1500, 1600, 1700, 1800, and 1900 provided in the back side of the body of the smart device 50. The positional information about the slots specifies the coordinates of the butting surfaces of the ribs 101 a, 101 c through 101 h and the spine 102 that determine the positions of the attached modules. Although the modules are positioned by butting against the ribs 101 a, 101 c through 101 h and the spine 102 in the first embodiment, the present invention is not limited to this. For example, a convex part may be provided in the body of the smart device 50, and a concave part that fits to the convex part may be provided in each module. In this case, the positional information about each slot includes positional information about the convex part for positioning.

An identification information memory (ID memory) 116 stores variety of identification information required when the body of the smart device 50 communicates with each module. A temperature sensor (TEMP sensor) 118 measures a temperature of a predetermined spot of the body of the smart device 50. A power control circuit (power controller) 120 supplies electric current of a predetermined voltage required to each part of the body of the smart device 50 through the system control circuit 110.

A power supply bus 122 is connected to the power control circuit 120 of the body of the smart device 50 and power supply terminals of connectors 182 through 186 and 188. The power supply terminals of the connectors 182 through 186 and 188 are connected to power control circuits 220, 320, 410, 520, 620, and 820 of the modules through power supply terminals of connectors 280, 380, 480, 580, 680, and 880 of the modules, respectively.

A switch interface circuit (SW I/F) 130 connects to the modules through the body-side CMCs 142 a, 143, 144 a, 145 b, 146, and 148 and the module-side CMCs 240 a, 340, 440 a, 540, 640, and 840 so as to switch and to relay high-speed communication of data and messages between the modules and the body of the smart device 50. In addition, the combination of the body-side CMCs and the module-side CMCs shown in FIG. 5 is one example and may be changed suitably according to a user's intention.

The smart device 50 switches an attracting state and a non-attracting state by controlling magnetic force of the EPMs 162 a, 163, 164 a, 165 a, 166, and 168. Accordingly, each module is locked or released in an attachment position of the frame structure of the body of the smart device 50 and the module. In addition, the combination of the EPMs of the body of the smart device 50 and the magnetic bodies of the modules connected thereto shown in FIG. 5 is one example and may be changed suitably according to a user's intention.

The connectors 182 through 186 and 188 respectively connect to the connectors 280, 380, 480, 580, 680, and 880 of the modules. Accordingly, the terminal group related to the power source (power bus and ground) becomes available between the body of the smart device 50 and the modules mutually. Furthermore, functions of terminals, such as a terminal of a Detect signal indicating attachment of a module, a terminal of a Wake signal that means a release of sleep of a module, and a terminal of an RF signal connecting a wiring of an antenna, become available mutually in the same manner. Although the connectors 182 through 186 and 188 in the first embodiment are general compact metal terminals formed in the ribs 101 a through 101 h or the spine 102 of the body of the smart device 50, they are not shown in FIG. 1A, FIG. 1B, FIG. 3A, and FIG. 3B because they cannot be seen in these figures. In addition, the combination of the connecters 182 throughs 186 and 188 and the module-side connecters connected thereto shown in FIG. 5 is one example and may be changed according to a user's intention.

The application program control module 200 totally controls the entire system including the body of the smart device 50 and the modules attached thereto with the operation of the application control circuit 210. For example, the application control circuit 210 controls the LCD panel 312, which is a display unit, through a display operation control circuit 310 of the display operation module 300 to display variety of information. Moreover, the application control circuit 210 obtains information about an input operation to a touch panel and operation buttons (hereinafter referred to as “TP/button”) 314, which constitute an operation input means, through the display operation control circuit 310 of the display operation module 300. Then, it is available to perform a service of a kernel, a service of an OS, and processes by various application programs according to the contents of the input operation.

The application control circuit 210 directly accesses to a memory 212 to read and write data. A nonvolatile memory 214 stores constants, variables, and programs for operations of the application control circuit 210. An identification information memory 216 stores variety of identification information required when the application program control module 200 communicates with the body of the smart device 50 and the other modules. The power control circuit 220 supplies electric current of a predetermined voltage required to each part of the application program control module 200. A temperature sensor 222 measures a temperature of a predetermined spot of the application program control module 200. An interface circuit 230 relays high-speed communication of data and messages with the body of the smart device 50 and the other modules through the module-side CMC 240 a.

A management table (MGM table) 290 stores information about a plurality of management files required for running exclusive application programs. The information about the management files includes types of indispensable modules for running each exclusive application program, a combination of the applicable modules that utilizes a desired function at the maximum, and an optimal positional relationship between the slots to which the modules are attached. Moreover, the information about the management files includes types of modules that are not indispensable for each exclusive application program but are effective to add functions in the first embodiment, which improves convenience by providing a user with many choices. The application control circuit 210 obtains such information about the management files from the management table 290. It should be noted that the present invention is not limited to this configuration. The memory 212 or the nonvolatile memory 214 may store the information about the management files. In such a case, the application control circuit 210 obtains the information about the management files from the memory 212 or the nonvolatile memory 214.

The display operation module 300 displays variety of information and obtains an input operation by controlling the body of the smart device 50 under the total control by the application program control module 200. The display operation control circuit (display operation controller) 310 controls the entire display operation module 300. Although the display operation module 300 may employ a display device, such as LCD, OLED, or LED, as the display unit, the LCD panel 312 is employed in the first embodiment. Operation devices, such as a touch panel (TP) and operation buttons, may be constituted independently or integrally as the operation input means of the display operation module 300. The first embodiment employs the TP/button 314 constituted independently.

The display operation control circuit 310 displays variety of information to a user on the LCD panel 312 in response to instructions from the application control circuit 210 of the application program control module 200. Moreover, input operations, such as a touch-panel operation and a button operation, by the user to the TP/button 314 and a voice signal detected by the microphone 318 are transferred to the application control circuit 210 through the display operation control circuit 310.

An identification information memory 316 stores variety of identification information required when the display operation module 300 communicates with the body of the smart device 50 and the other modules. The power control circuit 320 supplies electric current of a predetermined voltage required to each part of the display operation module 300. A temperature sensor 322 measures a temperature of a predetermined spot of the display operation module 300. An interface circuit 330 relays high-speed communication of data and messages with the body of the smart device 50 and the other modules through the module-side CMC 340.

The power supply module 400 supplies electric power to each module from a battery 420 through the power supply bus 122 of the body of the smart device 50 under the total control by the application program control module 200. A battery control circuit (battery controller) 410 in the power supply module 400 controls the entire power supply module 400 including supply-and-charge control of the battery 420, and supplies electric current of a predetermined voltage required to each part of the power supply module 400. An identification information memory 416 stores variety of identification information required when the power supply module 400 communicates with the body of the smart device 50 and the other modules.

The battery 420, such as a Li-ion battery or a fuel cell, supplies electric current to the body of the smart device 50 and the modules and is charged from the body of the smart device 50 and a charging module (not shown) through the connector 480 by the battery control circuit 410. A temperature sensor 422 measures a temperature of a predetermined spot of the power supply module 400. An interface circuit 430 relays high-speed communication of data and messages with the body of the smart device 50 and the other modules through the module-side CMC 440 a.

The photographing module 500 is an image pickup apparatus that is controlled by the body of the smart device 50 and performs a desired image pickup process under the total control by the application program control module 200. The photographing module 500 is provided with a camera 510 that has a plurality of optical lenses arranged on an optical axis. The camera 510 is provided with a diaphragm mechanism that adjusts a passing light amount to pass, an AF system that moves at least one optical lens in an optical axis direction for focusing, and a lens barrel that contains these components inside. Moreover, the camera 510 is provided with an image sensor that obtains image data by photoelectric conversion, an image processing circuit that processes the image data, and a drive control circuit that controls each mechanism.

The camera 510 achieves automatic exposure control (AE) that sets up an aperture value, a shutter speed, and a sensitivity of the image sensor optimally, automatic focusing (AF) corresponding to an object distance, and automatic white balance (AWB) that adjusts a color temperature so as to reproduce proper tone. In addition, the first embodiment is capable of performing simple image stabilization (IS) by making an exposure area that is cut out from the entire area of the image sensor follow camera shake that is calculated according to angular velocity information obtained by the posture detection module 800. In addition, the present invention does not limit a general control method of an image pickup apparatus. Since the method has been already known in prior art documents, the detailed individual description is omitted.

The camera 510 is instructed by the inputs through the TP/button 314 of the display operation module 300 and by the application program that runs in the application control circuit 210. The application control circuit 210 controls the body of the smart device 50 and the display operation module 300, so that the image data obtained with the camera 510 is displayed on the LCD panel 312.

An identification information memory 516 stores variety of identification information required when the photographing module 500 communicates with the body of the smart device 50 and the other modules. A power control circuit 520 supplies electric current of a predetermined voltage required to each part of the photographing module 500.

A nonvolatile memory 522 stores constants and variables for operations of the camera 510, positional information about the component, optical-axis error information, and lens error information. The positional information about the component includes coordinate information about the optical axis based on the contour of the photographing module 500. As mentioned above, although the photographing module 500 is positioned by butting to the ribs 101 a through 101 h and the spine 102 of the body of the smart device 50, the present invention is not limited to this configuration. For example, a convex part may be provided in the body of the smart device 50, and a concave part to which the convex part fits may be provided in the photographing module 500. In this case, the positional information about the component includes the coordinate information about the optical axis based on the concave part to which the convex part fits.

Moreover, the optical-axis error information includes inclination error of the optical axis of the camera 510 that occurs as a manufacture error due to lack of accuracy of parts or assembling. On the other hand, the lens error information includes a focal length error, an F-value error, distortion, and an angle error of the image sensor around the optical axis that occur as manufacture errors. Storing such information about the manufacture errors to the nonvolatile memory 522 enables the application control circuit 210 to correct these manufacture errors in the process thereof. This improves the accuracy of the image composite function or the measurement function when the functions of the compound eye camera are used.

An interface circuit 530 relays high-speed communication of data and messages with the body of the smart device 50 and the other modules through the module-side CMC 540.

The configuration of the photographing module 600 is the same as that of the photographing module 500, and is provided with a camera 610, a power control circuit 620, an interface circuit 630, an identification information memory 616, and a nonvolatile memory 622. However, the arrangement and shape of the camera 610 in the photographing module 600 differ from the arrangement and shape of the camera 510 in the photographing module 500.

The posture detection module 800 is controlled by the body of the smart device 50 so as to detect the posture of the smart device 50 under the total control by the application program control module 200. In the posture detection module 800, the triaxial gyro sensor 810 obtains angular velocity information. An identification information memory 816 stores variety of identification information required when the posture detection module 800 communicates with the body of the smart device 50 and the other modules. A power control circuit 820 supplies electric current of a predetermined voltage required to each part of the posture detection module 800. A temperature sensor 822 measures a temperature of a predetermined spot of the posture detection module 800.

An interface circuit 830 relays high-speed communication of data and messages with the body of the smart device 50 and the other modules through the module-side CMC 840. The interface circuit 830 sends the angular velocity information obtained with the gyro sensor 810 to the body of the smart device 50. Furthermore, the body of the smart device 50 transfers the data to the application program control module 200 at high speed. Thus, the angular velocity information from the posture detection module 800 is used for the switch of the display direction in the display operation module 300 and the image stabilization in the photographing modules 500 and 600.

Next, operations of the application program control module 200 will be described. FIG. 6 is a flowchart showing procedures of an operation control process, which is executed by the application program control module 200, of the smart device 50 equipped with the plurality of modules.

The process in FIG. 6 starts when a user operates the power button 314 a of the display operation module 300 where the application program control module 200, the body of the smart device 50, and the display operation module 300 are in a low power consumption state.

In response to such a user's operation, the display operation control circuit 310 sends a Wake signal that means a release of sleep towards the application control circuit 210. When receiving the Wake signal from the display operation control circuit 310, the application control circuit 210 performs initial setting in step S1100. In the first embodiment, a terminal of a Detect signal is provided in a connector of every module that is attached to the body of the smart device 50. The Detect signal is used to detect that a module is newly attached to the body of the smart device 50. When a module that is newly attached to a free slot sends the Detect signal to the application control circuit 210 through the system control circuit 110, the process in FIG. 6 starts similarly.

In the step S1100, the application control circuit 210 initializes predetermined flags and control variables by resetting, and initializes each part of the application program control module 200. Next, the application control circuit 210 runs the software program read from the nonvolatile memory 214, and activates the kernel and OS in order. After that, the application control circuit 210 initializes the communication with the system control circuit 110 of the body of the smart device 50 through the interface circuit 230, module-side CMC 240 a, body-side CMC 142 a, and switch interface circuit 130. The initialization of the system control circuit 110 activates all the modules that are attached to the body of the smart device 50. Thereby, the display operation control circuit 310 of the display operation module 300 displays a predetermined starting screen on the LCD panel 312. Then, the display operation module 300 allows a user's input instruction to the TP/button 314.

After finishing the step S1100, the application control circuit 210 proceeds with the process to step S1101 and determines whether a termination message has been received. The display operation control circuit 310 sends the termination message to the application control circuit 210, when a user selects a termination button displayed on the LCD panel 312 using the TP/button 314.

When it is determined that the termination message has been received in the step S1101, the application control circuit 210 proceeds with the process to step S1120, and executes a termination process. Specifically, the application control circuit 210 saves the flags and control variables to the nonvolatile memory 214 if needed after sending the termination message to the system control circuit 110. Simultaneously, the system is shifted to an operation finish state where the OS and kernel operate with low power consumption. Then, the setting of power supply to the application program control module 200, the body of the smart device 50, and the display operation module 300 through the power control circuit 220 is changed to low power consumption. When receiving the termination message, the system control circuit 110 executes a process for stopping all the operations of the modules other than the application program control module 200, the body of the smart device 50 and the display operation module 300.

After finishing the termination process in the step S1120, the application control circuit 210 finishes this process, and results in a power OFF state.

When no termination message has been received in the step S1101, the application control circuit 210 proceeds with the process to step S1102, and determines whether a sleep message that shifts the system to a sleep state has been received from the display operation control circuit 310. The display operation control circuit 310 sends the sleep message to the application control circuit 210, when a user selects a sleep button displayed on the LCD panel 312 using the TP/button 314.

When it is determined that the sleep message has been received in the step S1102, the application control circuit 210 proceeds with the process to step S1120, and executes a sleep process. Specifically, the application control circuit 210 saves the flags and control variables to the nonvolatile memory 214 if needed after sending the sleep message to the system control circuit 110. Simultaneously, the system is shifted to a sleep operation state where the OS and kernel operate with low power consumption. When receiving the sleep message, the system control circuit 110 proceeds with the process to step S1104 after executing a process that shifts the operations of all the modules of the smart device 50 to the sleep state.

In addition, when the initial setting is performed in the step S1100, a release button and application execution button are displayed on the LCD panel 312 of the display operation module 300 in addition to the termination button and sleep button mentioned above. There are cases where a user does not select any button until a predetermined period elapses after these buttons are displayed on the LCD panel 312. Moreover, the Wake signal sent from the display operation control circuit 310 may not be received even if a predetermined period elapses after the user's operation to the power button 314 a of the display operation module 300 at the start of this process. In such a case, the process proceeds to the step S1103 like the case where the sleep message has been received. Furthermore, the application control circuit 210 accumulates the elapsed period from the last timing when the input instruction by the process mentioned later or the Wake signal has been received in the step S1102. When the accumulated period is longer than a predetermined value, the system shifts to the sleep state. The sleep process after that has been mentioned above.

In the step S1104, the application control circuit 210 determines whether the Wake signal sent from any module has been received through the connector 280. When no Wake signal has been received in the step S1104, the sleep operation state is continued until the Wake signal is received. The sleep operation state in the first embodiment differs from the above-mentioned power OFF state. For example, when the mobile communication module 900 receives a call signal based on the mobile communication standard, the application control circuit 210 shifts the state of the smart device 50 to a predetermined application running state from the sleep operation state promptly. In addition, since the general control of such a movable radio communication system is well known, a detailed description is omitted.

When receiving the Wake signal in the step S1104, the application control circuit 210 proceeds with the process to step S1105, and executes a restoration process. Specifically, the application control circuit 210 restores the flags and control variables from the nonvolatile memory 214 if needed, and shifts the OS and kernel to a normal operation state in which they operate with normal power consumption. Moreover, the application control circuit 210 changes the setting of the power supply to all the modules of the smart device 50 through the power control circuit 220 to normal power consumption, and restores the communication with the system control circuit 110 of the body of the smart device 50. At this time, the system control circuit 110 executes the restoration process to all the modules other than the application control circuit 210, and shifts the smart device 50 to the normal operation state. After finishing the step S1105, the process returns to the step S1101.

When no sleep message has been received in the step S1101, the application control circuit 210 proceeds with the process to step S1106, and determines whether a release message that shifts the system to a release state has been received from the display operation control circuit 310. The display operation control circuit 310 sends the release message to the application control circuit 210, when a user selects a release button displayed on the LCD panel 312 using the TP/button 314 and when the user designates a module to be detached.

When it is determined that the release message been received in the step S1106, the application control circuit 210 proceeds with the process to step S1107, and executes a release process. The release process is executed for a module to be detached in order to finish its function normally and to release the EPM thereof. Details of the release process will be described later with reference to FIG. 7. After finishing the step S1107, the process returns to the step S1101.

When no release message has been received in the step S1106, the application control circuit 210 proceeds with the process to step S1108, and determines whether the Detect signal of any module has been received.

When receiving the Detect signal in the step S1108, the application control circuit 210 proceeds with the process to step S1109, and executes an attaching process. The attaching process is executed in order that a module attached to the body of the smart device 50 is fixed and functions appropriately. Details of the attaching process will be described later with reference to FIG. 8. After finishing the step S1109, the process returns to the step S1101.

When it is determined that no Detect signal has been received in the step S1108, the application control circuit 210 proceeds with the process to step S1110, and determines whether an application-program relation message has been received from the display operation control circuit 310. The display operation control circuit 310 sends the application-program relation message to the application control circuit 210 when a user selects an application execution button displayed on the LCD panel 312 using the TP/button 314 and when the user designates an application program to run.

When it is determined that the application-program relation message has been received in the step S1110, the application control circuit 210 proceeds with the process to step S1111, and executes an application-program execution process. Application programs assumed in the first embodiment include various functions that are achievable with combinations of the modules. For example, a call function becomes available with the combination of the mobile communication module 900, the display operation module 300, and the speaker module 350, and the web browsing through the Internet access becomes available with the combination of the wireless LAN module 700 and the display operation module 300. Moreover, the general photographing functions are achieved by only the photographing module 500, and the functions of a compound eye camera is achieved by the combination of the photographing modules 500 and 600. The details of a photographing-application execution process as an example of such application programs will be mentioned later with reference to FIG. 9. After finishing the step S1111, the process returns to the step S1101.

When it is determined that no application-program relation message has been received in the step S1110, the process returns to the step S1101.

FIG. 7 is a flowchart showing detailed procedures of the release process executed in the step S1107 in FIG. 6.

In step S1201 in FIG. 7, the application control circuit 210 instructs termination of a module that a user designates as a release target (hereinafter referred to as a “release target module”) by sending a message that instructs the termination of a function of the module to the system control circuit 110. Next, the application control circuit 210 proceeds with the process to step S1202, and determines whether module information about the release target module has been updated by determining whether an information update message sent from the system control circuit 110 has been received.

When it is determined that the module information has not been updated in the step S1202, the application control circuit 210 executes a predetermined error handling in step S1203. After that, the application control circuit 210 releases the lock of the release target module by controlling the EPM in step S1205, and finishes this process. The error handling in the step S1203 may notify a user of an error content by displaying on the display operation module 300.

When it is determined that the module information has been updated in the step S1202, the application control circuit 210 proceeds with the process to step S1204, and updates the management information stored in the predetermined regions of the nonvolatile memory 214 and the memory 212 that the OS and kernel manage according to the contents of the received information update message. The management information includes module management information, EPM control management information, and RF bus configuration management information. After that, the application control circuit 210 releases the lock of the release target module by controlling the EPM in step S1215, and finishes this process.

FIG. 8 is a flowchart showing detailed procedures of the attaching process executed in the step S1109 in FIG. 6.

In step S1301 in FIG. 8, the application control circuit 210 sets up the connection of message communication in cooperation with the system control circuit 110, and establishes a network link with the system control circuit 110. Next, the application control circuit 210 proceeds with the process to step S1302, and obtains the module information from the modules (henceforth a “attached module”) attached to the body of the smart device 50 through the system control circuit 110. Furthermore, the application control circuit 210 proceeds with the process to step S1303, and verifies whether contents of the module information obtained in the step S1302 have no problem for the smart device 50. For example, the application control circuit 210 verifies whether the stable communication is available, whether the device is operatable with the voltage of the power supply module 400 that has been already provided, and whether a standard specification is satisfied in a case where the standard specification is individually set up in the smart device 50.

When the result verified in the step S1303 has a problem, the application control circuit 210 finishes this process about the attached module after executing a predetermined error handling in the step S1304. The error handling may notify a user of an error content by displaying on the display operation module 300.

On the other hand, when the result verified in the step S1303 has no problem, it is determined that the attached module is normal, and the process proceeds to the step S1305. In the step S1305, the application control circuit 210 updates the management information stored in the predetermined regions of the nonvolatile memory 214 and the memory 212 on the basis of the module information about the attached module.

In the next step S1306, the application control circuit 210 instructs the EPM of the attached module to lock by sending an EPM lock instruction massage to the system control circuit 110. Thereby, the attached module is fixed and locked to the body of the smart device 50 by the EPM.

In the next step S1307, the application control circuit 210 sends a communication start instruction message toward the system control circuit 110, and reports that the message communication with the attached module that is subjected to the series of initialization process became available. After that, in step S1308, a state change flag is switched to ON and this process is finished. The state change flag is assigned to each module and is held in the nonvolatile memory 214, and is a rework flag that is switched between ON and OFF according to the change of state of each module. The state change flag is set to ON when a state of each module that is attached to the body of the smart device 50 changes under the state where the state change flag of the module is OFF. In addition, a change of state includes impact from outside, a change of battery residue, a breakdown, and performance degradation, in addition to attachment of each module. Moreover, when a temperature change measured by the temperature sensor 118 in the body of the smart device 50 exceeds a certain threshold, or when a humidity change measured by a moisture sensor that is not shown in FIG. 5 exceeds a certain threshold, the state change flags for all the modules are set to ON.

As a result of this process, when an attached module is normal (YES in the step S1303), and when the attached module is locked (step S1306), functions of the attached module becomes available in the smart device 50.

In addition, the attaching process of the present invention is not necessarily limited to the procedures shown in FIG. 8. For example, the attached module may be locked by the EPM before the step S1301 in order to stabilize the communication. In such a case, when there is a problem in the verification result in the step S1303, the lock is released after the step S1304.

FIG. 9 is a flowchart showing detailed procedures of the photographing application execution process that is an example of the application program execution process executed in the step S1111 in FIG. 6.

When the photographing application is started in response to an input operation to the display operation module 300, the application control circuit 210 obtains the information about the management file of the photographing application from the management table 290 in step S1401. The information includes types of indispensable modules for running the photographing application, a combination of applicable modules that utilizes the photographing function at the maximum, and an optimal positional relationship between the slots to which the modules are attached.

Next, the application control circuit 210 proceeds with the process to step S1402, and obtains module information from each module through the system control circuit 110. Then, the application control circuit 210 verifies whether necessary modules are attached and whether there is a problem in the combination of the modules on the basis of the information about the management file of the photographing application in step S1403.

When the result verified in the step S1403 has a problem, the application control circuit 210 finishes the photographing application execution process after executing a predetermined error handling in step S1404. The error handling may notify a user of an error content by displaying on the display operation module 300. For example, when no slot is equipped with a photographing module at the time point of the step S1402 and the photographing application cannot be executed, an error content is notified in the error handling in the step S1404, and the photographing application execution process is finished. Moreover, when the posture detection module 800 is not attached, a camera shake is undetectable. In such a case, the image stabilization (IS) is not available even if the attached photographing module 500 has the IS function, Accordingly, a part of the photographing functions is restricted in the error handling in the step S1404. In this case, it is not necessary to finish the photographing application execution process. When a user's input operation is received in response to a notice of an error content, the process may be shifted to a photographing execution process in the step S1405 depending on a situation.

If there is no problem in the result verified in the step S1403, the process proceeds to the step S1405 and the photographing execution process is executed. After that, the application control circuit 210 stops the operations of the modules required for the photographing application, and finishes this process.

FIG. 10 is a flowchart showing procedures of the photographing execution process executed in the step S1405 in FIG. 9.

In step S1501 in FIG. 10, the application control circuit 210 instructs the photographing module to start by sending a photographing-module start instruction message to the system control circuit 110. When receiving the photographing-module start instruction message through the system control circuit 110, the attached photographing modules (the photographing modules 500 and 600 in the first embodiment) complete a photographing preparation by executing a reset operation.

In the next step S1502, the application control circuit 210 determines whether a plurality of photographing modules are attached on the basis of the module information obtained in the step S1402 in FIG. 9. When only one photographing module is attached, the process proceeds to step S1503. For example, when only the photographing module 500 is attached, the application control circuit 210 executes the general photographing in a single eye mode using the camera 510, and proceeds with the process to step S1509. The general photographing means obtaining a desired image data from the image sensor while performing the automatic exposure control (AE), automatic focusing (AF), automatic white balance (AWB), and image stabilization (IS). In addition, the present invention does not limit contents of the general photographing. Since the contents have been already known in prior art documents, the detailed description is omitted.

When determining that a plurality of photographing modules are attached in the step S1502, the application control circuit 210 proceeds with the process to step S1504, and determines whether either of the state change flags is set to ON in order to detect whether the state of each of the attached photographing modules has been changed. When all the state change flags are OFF, the process proceeds to step S1508. For example, when the photographing modules 500 and 600 are attached, the application control circuit 210 finishes this process after performing the photographing in the compound eye mode with the cameras 510 and 610.

As a result of the determination in the step S1504, when either of the state change flags for the attached photographing modules (for example, the photographing modules 500 and 600) is set to ON, the process proceeds to step S1505. In this case, there is a possibility that the environmental conditions, such as temperature and humidity, are changed or the states of internal parts are changed by the impact from the outside in the cameras 510 and 610. Furthermore, there is concern about the deterioration of measurement accuracy of the image composition function or the distance measurement function of the cameras 510 and 610.

In the step S1505, the application control circuit 210 executes a focusing position optimization process in order to perform the calibration of the cameras 510 and 610. The details of the focusing position optimization process in the step S1505 will be mentioned later with reference to FIG. 11.

In the next step S1506, the application control circuit 210 updates the management information on the basis of the calibration results of the cameras 510 and 610 performed in the focusing position optimization process in the step S1505. The management information includes module management information, EPM control management information, and RF bus configuration management information in addition to the calibration results newly obtained in the step S1505. In addition, the management information is stored in the predetermined regions of the nonvolatile memory 214 and the memory 212.

After that, the application control circuit 210 proceeds with the process to step S1507, and switches the state change flag, which was determined to be set to ON in the step S1504, to OFF. The state change flag becomes ON at a timing at which a new module is attached to the body of the smart device 50 in the step S1308 in the attaching process in FIG. 8, for example. On the other hand, the state change flag becomes OFF at a timing immediately after updating the management file to the up-to-date state in the step S1507, for example. Thus, a state change of a module is always managed by switching ON and OFF of a state change flag at a suitable timing in the first embodiment.

The process proceeds to step S1508 continuously, and the application control circuit 210 finishes this process after photographing in the compound eye mode using the cameras 510 and 610 as the compound eye camera, for example.

In the last step S1501, the application control circuit 210 instructs the photographing modules to terminate by sending a photographing-module termination instruction message to the system control circuit 110. When receiving the photographing module termination instruction message, the system control circuit 110 changes the setting of the electric power supplied for the photographing modules 500 and 600 into the low power consumption through the power control circuit 220.

FIG. 11 is a flowchart showing procedures of the focusing position optimization process to a plurality of photographing modules of the first embodiment executed in the step S1505 in FIG. 10.

In step S1601 in FIG. 11, the application control circuit 210 instructs the attached photographing modules (the photographing modules 500 and 600 in the first embodiment) by sending a calibration start instruction message to the system control circuit 110. When receiving the calibration start instruction message through the system control circuit 110, the attached photographing modules 500 and 600 start the calibration operations for the cameras 510 and 610.

In step S1602, the cameras 510 and 610 focus on an object at a predetermined position within a photographing area by phase difference AF using the parallax information between the cameras. Since the phase difference AF is the well-known technique, concrete control is omitted in the description, but it approximately operates as follows. That is, an object distance is calculated by finding a depth with triangulation based on the parallax (parallax information) between images respectively photographed by the cameras 510 and 610 and a base length between the cameras 510 and 610, and the focusing lenses in the cameras 510 and 610 are moved on the basis of the calculation result. In addition, the base length is a variable used for processing the parallax information between at least two photographing modules in the present invention, and shows the distance between the two optical axes. The base length is expressed as a deviation amount or parallax in prior art documents. A calculation method for the base length between the cameras 510 and 610 will be described later with reference to FIG. 13.

The application control circuit 210 proceeds with the process to step S1603 and determines whether the cameras focused by the phase difference AF. When the cameras did not focus by the phase difference AF, the process returns to the step S1602 to perform the phase difference AF again.

When the cameras focused by the phase difference AF, a main camera, which is selected from the cameras 510 and 610, performs contrast AF (step S1604). Details of the selecting method for the main camera will be described later with reference to FIG. 12A and FIG. 12B. Basically, the optimal one is selected as the main camera on the basis of the positions and orientations of the photographing modules 500 and 600, and the other is employed as a sub camera. The main camera is preferentially used for performing the contrast AF than the sub camera. The contrast AF is a method that moves a focusing lens to a position where level of a signal output from the image sensor that captures an object image shows a peak. In such a method, the focusing operation takes time because a driving direction and a drive amount of the focusing lens required for focusing cannot be directly detected unlike the phase difference AF. However, since focus determination is performed on the basis of the output signal from the image sensor, high accuracy focusing is available.

Next, a focus evaluated value that is calculated from the output signal of the image sensor as a result of the contrast AF by the main camera in the step S1604 is obtained, and it is determined whether a peak position is detected (step S1605).

When the peak position of the object is detected from the contrast AF by the main camera in the step S1605, the process proceeds to step S1608.

On the other hand, when a peak position was not detected (failed) in the step S1605, the application control circuit 210 determines that the main camera cannot detect focus, and performs the contrast AF by the sub camera (step S1606). Then, it is determined whether the sub camera has detected the peak position in step S1607. When the peak position was detected, the process proceeds to step S1608.

When the contrast AF by the sub camera also cannot detect a peak position in the step S1607, the process returns to the step S1604 to perform the contrast AF by the main camera again, and the actions in the steps S1604 through S1607 are repeated.

In the step S1608, the in-focus position detected by the phase difference AF (the position of the focusing lens controlled by the phase difference AF) is compared with the peak position detected by the contrast AF performed with the main camera or the sub camera (the position of the focusing lens controlled by the contrast AF). That is, a pair of the focus detection information (focusing results) are compared.

The application control circuit 210 determines whether the difference between the focusing results exceeds a predetermined threshold in step S1609. When the difference between the focusing results does not exceed the threshold, it is determined that the result of the phase difference AF is suitable (step S1610), and this process finishes.

On the other hand, when the difference between the focusing results exceeds the threshold in the step S1609, the application control circuit 210 determines that the result of the phase difference AF is not suitable, proceeds with the process to step S1611, and reads a correction table. The correction table is stored beforehand in the nonvolatile memory 214 of the application control circuit 210, and a correction amount for correcting a calculation result of an object distance by the phase difference AF is described.

The application control circuit 210 reads the correction amount corresponding to the calculation result of the object distance by the phase difference AF from the correction table, calibrates the focus detection result on the basis of the read correction amount in step S1612, and finishes this process.

In addition, the information stored in the management table 290 is updated by the wireless LAN module 700 at a timing at which the application program is updated. Accordingly, a type and an attainable function of each module and other needed information may be added to the management table 290, and may be changed suitably.

Next, two methods for selecting the main camera and sub camera mentioned above will be described with reference to FIG. 12A and FIG. 12B. In the example shown in FIG. 12A and FIG. 12B, the modules including the photographing modules 500 and 600 are attached to the slots that are different from the example shown in FIG. 1D.

FIG. 12A is a view showing the external appearance of the smart device 50 at the side of the photographing modules 500 and 600, the side external appearance, and the external appearance at the side of the display operation module 300.

As shown in FIG. 12A, the distances that connect the respective optical axes of the camera 510 and 610 and the center line of the display operation module 300 in the longitudinal direction are denoted as L51 and L61. The application control circuit 210 selects the camera of which the distance from the center of the display operation module 300 to the optical axis is shorter as the main camera, and selects the other as the sub camera, for example. Since the distance L51 is longer than the distance L61, the camera 610 is set as the main camera, and the camera 510 is set as the sub camera.

FIG. 12B is an external view of the smart device 50 at the side of the photographing modules 500 and 600 with enlarged views of the photographing modules. The imaging sensors 501 and 601 of the cameras 510 and 610 are indicated by two-dot chain lines so as to show their layouts. As shown in FIG. 12B, the longitudinal direction of the image sensor 501 of the camera 510 is coincident with the longitudinal direction of the display operation module 300. Moreover, the longitudinal direction of the image sensor 601 of the camera 610 differs from the longitudinal direction of the display operation module 300 by 90 degrees. The application control circuit 210 selects the camera of which the aspect ratio of the image sensor is nearer to the aspect ratio of the display operation module 300 from among the cameras 510 and 610 as the main camera, and selects the other as the sub camera, for example. In this case, the camera 510 is set as the main camera and the camera 610 is set as the sub camera.

As mentioned above, the camera of which the optical axis is nearer to the center of the display operation module 300 or the camera of which the aspect ratio of the image sensor is nearer to the aspect ratio of the display screen of the display operation module 300 is selected as the main camera from among the cameras 510 and 610. Accordingly, a feeling of wrongness at the time of framing an object using the main camera is less than that using the sub camera.

The above-mentioned methods for selecting the main camera are an example, and the present invention is not restricted to these. Priority may be given to either of the two selection methods. Moreover, a user may arbitrarily select the main camera in spite of the distance to the center of the display operation module 300 and the orientation of image sensors.

Next, an example of the calculation method for the base length between cameras 510 and 610 will be described.

FIG. 13 is an explanation view showing a calculation method of the base length executed in step S1602 in FIG. 11.

In the step S1602 in FIG. 11 mentioned above, the application control circuit 210 obtains the positional information about the slots from the nonvolatile memory 214 of the body of the smart device 50. The positional information about the slots in the first embodiment includes the positional information about the slots 1500 and 1600, and specifies the positions of the butting surfaces of the ribs 101 a, 101 c through 101 h and the spine 102 that determine positions of modules. Simultaneously, the application control circuit 210 obtains coordinate information about the optical axis of the camera 510 from the nonvolatile memory 522 of the photographing module 500 in the step S1602. Moreover, the application control circuit 210 obtains coordinate information about the optical axis of the camera 610 from the nonvolatile memory 622 of the photographing module 600. The coordinate information about the optical axes in the first embodiment specifies the coordinates of the optical axes based on the contours of the photographing modules 500 and 600.

Specifically, the application control circuit 210 obtains numeric values X101, X102, X103, Y101, and Y102 shown in FIG. 13 on the basis of the positions and the coordinate information. The value X101 denotes a horizontal length from the butting surface of the photographing module 500 to the optical axis of the camera 510, and the value Y101 denotes a vertical length thereof. The value X102 denotes a horizontal length of the spine 102 in the body of the smart device 50. The value X103 denotes a horizontal length from the butting surface of the photographing module 600 to the optical axis of the camera 610, and the value Y102 denotes a vertical length thereof.

A length (base length) L100 of a straight line that connects the optical axis of the camera 510 and the optical axis of the camera 610 is calculated from X101, X102, X103, Y101, and Y102 according to the following calculation formula.

L100=√{square root over ( )}{X101+X102+X103)²+(Y101−Y102)²}

As mentioned above, since the calculation formula is comparatively simple, memory capacity required for the memory 212 and the nonvolatile memory 214 of the application program control module 200 is comparatively little. Furthermore, since the processing speed of the application control circuit 210 is extremely high, there is no possibility of producing a time lag until focusing or exposure start.

Moreover, the manufacture errors of the photographing modules 500 and 600 are respectively measured in a manufacturing process in the first embodiment. For example, the positional displacement of the optical axis of the camera 510 is stored in the nonvolatile memory 522 of the photographing module 500, and the positional displacement of the optical axis of the camera 610 is stored in the nonvolatile memory 622 of the photographing module 600. This enables the application control circuit 210 to correct the errors while calculating the base length, which improves accuracy of an image composite function or a measurement function when a function of a compound eye camera is used.

A distance map indicating distances of objects in a photographing target area may be generated by calculating a correct base length between the photographing modules 500 and 600 on the basis of the difference between the focus detection result by the contrast AF and the focus detection result by the phase difference AF.

Although the first embodiment described the case where the positional displacements of the photographing modules 500 and 600 are stored, information about tilting amounts of the optical axes may be stored. Moreover, the above-mentioned calculation method for the base length is an example, and the present invention is not limited to the calculation method of the first embodiment.

Hereinafter, a second embodiment that changes only the focusing position optimization process from the first embodiment will be described.

The configurations of the body of the smart device 50 and the modules attached thereto in the second embodiment are identical to that in the first embodiment. Accordingly, only different portions from the first embodiment will be described in the second embodiment.

FIG. 14 is a flowchart showing procedures of the focusing position optimization process to a plurality of photographing modules according to the second embodiment executed in step S1505 in FIG. 10.

In step S1701 in FIG. 14, the application control circuit 210 instructs the attached photographing modules (the photographing modules 500 and 600 in the second embodiment) by sending a calibration start instruction message to the system control circuit 110. When receiving the calibration start instruction message through the system control circuit 110, the attached photographing modules 500 and 600 start the calibration operations for the cameras 510 and 610.

In step S1702, the application control circuit 210 calculates a base length that is a distance between the optical axis of the camera 510 and the optical axis of the camera 610. In the photographing execution process in the compound eye mode like this process, it is important to obtain a correct base length.

A threshold for difference between focus detection results by the phase difference AF and contrast AF is determined on the basis of the base length calculated in the step S1702 (step S1703). In the second embodiment, the nonvolatile memory 214 of the application control circuit 210 beforehand stores a difference table storing various thresholds that vary depending on the base length between the cameras 510 and 610. For example, since the focus detection accuracy is high in a case where the base length between the cameras 510 and 610 is long like the layout of the photographing modules 500 and 600 shown in FIG. 12A, the threshold is set up low in the difference table. On the other hand, since the base length between the cameras 510 and 610 in the layout of the photographing modules 500 and 600 shown in FIG. 13 is short, the focus detection accuracy lowers as compared with the layout with a long base length. Accordingly, the threshold is set up high in the difference table. That is, the longer the base length is, the smaller the threshold is.

In addition, the above-mentioned setting of the threshold is a mere example, and the present invention does not limit the setting method for the threshold. For example, since a depth of field varies depending on a focal length, the threshold may be changed depending on the focal length in a case where the cameras of the photographing modules 500 and 600 provide zoom lenses. Moreover, the difference table may be stored in the nonvolatile memory 114 of the body of the smart device 50 in place of the nonvolatile memory 214.

In step S1704, the cameras 510 and 610 focus on an object at a predetermined position within a photographing area by the phase difference AF using the parallax information between the cameras 510 and 610.

The application control circuit 210 proceeds with the process to step S1705 and determines whether the cameras focused by the phase difference AF. When the cameras did not focus by the phase difference AF, the process returns to the step S1704 to perform the phase difference AF again.

When the cameras focused in the step S1705, photometry of an object is performed by a main camera, which is selected from the cameras 510 and 610, in order to determine whether the result detected by the phase difference AF is suitable (step S1706). Then, it is checked whether the photometry result is brighter than a predetermined value (step S1707). When the photometry result is not brighter than the predetermined value, it is determined that the reliability of the contrast AF is low, the process proceeds to step S1708 and the result of the phase difference AF is determined to be proper, and this process finishes as-is without performing the calibration of the focus detection result. In addition, when it is determined that the reliability of the contrast AF is low in this way, the application control circuit 210 may notify a photographer of an alert showing that the contrast AF is impossible because of the dark photometry result without proceeding to the step S1708 before finishing the process.

When it is determined that the photometry result is brighter than the predetermined value in the step S1707, the process proceeds to step S1709 and the contrast AF by the main camera is performed. After that, a focus evaluated value that is calculated from the output signal of the image sensor is obtained, and it is determined whether a peak position is detected (step S1710).

When the peak position of the object is detected from the contrast AF by the main camera in the step S1710, the process proceeds to step S1713.

On the other hand, when a peak position was not detected (failed) in the step S1710, the application control circuit 210 determines that the main camera cannot detect focus, and performs the contrast AF by the sub camera (step S1711). Then, it is determined whether the sub camera has detected the peak position in step S1712. When the peak position was detected, the process proceeds to step S1713.

In step S1712, when a peak position was not detected by the contrast AF by the sub camera, it is determined that the contrast of the object is low, the process proceeds to step S1708 and the result of the phase difference AF is determined to be proper, and this process finishes.

In the step S1713, the in-focus position detected by the phase difference AF is compared with the peak position detected by the contrast AF performed with the main camera or the sub camera. That is, a pair of the focus detection information (focusing results) are compared.

The application control circuit 210 determines whether the difference between the focusing results exceeds the threshold determined in the step S1703. When the difference between the focusing results does not exceed the threshold, it is determined that the result of the phase difference AF is suitable (step S1708), and this process finishes.

On the other hand, when the difference between the focusing results exceeds the threshold in the step S1714, the application control circuit 210 determines that the result of the phase difference AF is not suitable, proceeds with the process to step S1715, and reads the correction table.

The application control circuit 210 reads the correction amount corresponding to the calculation result of the object distance by the phase difference AF from the correction table, calibrates the focus detection result on the basis of the read correction amount in step S1716, and finishes this process.

When a peak position cannot be detected by the contrast AF by the main camera, the contrast AF by the sub camera is performed in the second embodiment. On the other hand, the contrast AF by the sub camera may be omitted.

Moreover, the flowchart shown in FIG. 14 is a mere example, and the present invention does not limit the combination.

Moreover, although the electronic apparatus with the detachable modules is described as an example in the first and second embodiments, the method of correcting the focus detection result obtained by the phase difference AF on the basis of the focus detection information obtained by the contrast AF may be applied to an electronic apparatus of which modules are not detachable. That is, the correction method in the first and second embodiments may be applied to the correction to a temporal error of a fixed compound eye camera.

Other Embodiments

Embodiment(s) of the present invention can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be referred to more fully as a ‘non-transitory computer-readable storage medium’) to perform the functions of one or more of the above-described embodiment(s) and/or that includes one or more circuits (e.g., application specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiment(s), and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s) and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiment(s). The computer may comprise one or more processors (e.g., central processing unit (CPU), micro processing unit (MPU)) and may include a network of separate computers or separate processors to read out and execute the computer executable instructions. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™), a flash memory device, a memory card, and the like.

While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.

This application claims the benefit of Japanese Patent Application No. 2017-061113, filed Mar. 27, 2017, which is hereby incorporated by reference herein in its entirety. 

What is claimed is:
 1. An electronic apparatus comprising: two photographing modules; a first obtaining unit configured to perform contrast AF by one of said two photographing modules to obtain a first focus detection result; a second obtaining unit configured to calculate an object distance from parallax information between said two photographing modules to obtain a second focus detection result; and a correction unit configured to correct a calculation result of the object distance obtained by said second obtaining unit in a case where a state of at least one of said two photographing modules and a body of the electronic apparatus varies and where a difference between the first focus detection result and the second focus detection result is more than a threshold.
 2. The electronic apparatus according to claim 1, wherein the object distance is calculated from a base length between said two photographing modules based on the parallax information.
 3. The electronic apparatus according to claim 2, wherein the threshold is changed depending on the base length.
 4. The electronic apparatus according to claim 2, wherein the longer the base length is, the smaller the threshold is.
 5. The electronic apparatus according to claim 2, wherein the threshold is changed depending on focal length of said two photographing modules.
 6. The electronic apparatus according to claim 1, further comprising a photometry unit configured to perform photometry of an object by one of said two photographing modules, wherein said correction unit does not correct in a case where a photometry result by said photometry units is not brighter than a predetermined value.
 7. The electronic apparatus according to claim 1, further comprising a photometry unit configured to perform photometry of an object by one of said two photographing modules, wherein an alert is notified to a photographer in a case where a photometry result by said photometry units is not brighter than a predetermined value.
 8. The electronic apparatus according to claim 1, further comprising a display unit, wherein one of said two photographing modules of which a longitudinal direction of a built-in image sensor is coincident with a longitudinal direction of said display unit is selected as a main camera that is preferentially used for performing the contrast AF.
 9. The electronic apparatus according to claim 1, further comprising a display unit, wherein one of said two photographing modules of which an optical axis is nearer to a center of said display unit is selected as a main camera that is preferentially used for performing the contrast AF.
 10. The electronic apparatus according to claim 8, wherein said first obtaining unit performs contrast AF by the other of said two photographing modules when the contrast AF by the main camera failed.
 11. The electronic apparatus according to claim 9, wherein said first obtaining unit performs contrast AF by the other of said two photographing modules when the contrast AF by the main camera failed.
 12. The electronic apparatus according to claim 1, wherein the base length is calculated based on the first and second focus detection results, and a distance map indicating distances of objects in a photographing target area is generated.
 13. The electronic apparatus according to claim 1, further comprising a plurality of attachment regions to which said two photographing modules are attached detachably.
 14. A control method for an electronic apparatus that achieves a function of a compound eye camera using two photographing modules, the control method comprising: a first obtaining step of performing contrast AF by one of the two photographing modules to obtain a first focus detection result; a second obtaining step of calculating an object distance from parallax information between the two photographing modules to obtain a second focus detection result; and a correction step of correcting a calculation result of the object distance obtained in said second obtaining step in a case where a state of at least one of said two photographing modules and a body of the electronic apparatus varies and where a difference between the first focus detection result and the second focus detection result is more than a threshold.
 15. A non-transitory computer-readable storage medium storing a control program causing a computer to execute a control method for an electronic apparatus that achieves a function of a compound eye camera using two photographing modules, the control method comprising: a first obtaining step of performing contrast AF by one of the two photographing modules to obtain a first focus detection result; a second obtaining step of calculating an object distance from parallax information between the two photographing modules to obtain a second focus detection result; and a correction step of correcting a calculation result of the object distance obtained in said second obtaining step in a case where a state of at least one of said two photographing modules and a body of the electronic apparatus varies and where a difference between the first focus detection result and the second focus detection result is more than a threshold. 